PROJ = lsq
SOURCE := $(PROJ).c
GENDATA := $(PROJ)_data
DATA = testdata.txt
IMAGE = output.eps
REF = references.bib

all: exe doc

exe: $(PROJ)

$(PROJ): src/$(PROJ).c                   	      #编译 lsq.c 生成 lsq.o 执行文件
	gcc -o $(PROJ) src/$(PROJ).c 

doc: $(PROJ).pdf#

$(GENDATA): src/$(GENDATA).c              	      #编译 lsq_data.c 生成 lsq_data.o 执行文件
	gcc -o src/$(GENDATA) src/$(GENDATA).c

$(DATA): src/$(GENDATA)                  	      #执行 lsq_data.o 和 lsq.o 生成 testdata.txt
	src/./$(GENDATA) 
	./$(PROJ)

$(IMAGE): $(DATA)                       	  #将 testdata.txt 转化为 output.eps
	gnuplot $(PROJ).gp

$(PROJ).pdf: doc/$(PROJ).tex $(IMAGE) doc/$(REF) 	  #编译 lsq.tex 结合 output.eps 和 references.bib 生成 lsq.pdf
	@mv $(IMAGE) doc/
	cd doc && xelatex $(PROJ)
	cd doc && bibtex $(PROJ)
	cd doc && xelatex $(PROJ)
	cd doc && xelatex $(PROJ)

#$(PROJ)_slide.pdf: doc/$(PROJ)_slide.tex doc/$(IMAGE) #编译 lsq_silde.tex 结合 output.eps 生成 lsq_slide.pdf
#	xelatex doc/$(PROJ)_slide

clean:
	rm -rf $(PROJ) $(DATA) *.dat \
	rm -rf doc/*.aux doc/*.bbl doc/*.blg doc/*.log doc/$(DATA) doc/$(IMAGE) doc/*.pdf \ 
	rm -rf src/$(GENDATA) \

.PHONY: all clean


